NAMING CONVENTIONS FOR EXTENSION
================================

=== Files ===
Dialog files:
dlg[CamelCasedName].xul
dlg[CamelCasedName].js

Modules:
[camelCasedName].jsm

Components:
mfix[CamelCasedCapitalizedName]Component.js

Other files:
[camelCasedName].js
[camelCasedName].png



=== Code ===
Overlay worker scope-level vars:
var mfix[CamelCasedCapitalizedName]Wkr = {...}

Dialog worker scope-level vars:
var mfixDlg[CamelCasedCapitalizedName]Wkr = {...}

Other scope-level vars:
var [camelCasedName] = {...}

Local-level vars:
var [camelCasedName] = ...
function(camelCasedName, camelCasedName, camelCasedName) ...

'Private' object vars:
_[camelCasedName] = ...

'Public' object vars:
[CamelCasedCapitalizedName] = ...

Overlay IDs:
mfix[CamelCasedCapitalizedName]Overlay

Dialog IDs:
mfixDlg[CamelCasedCapitalizedName]

Toolbar button IDs:
mfixToolbtn[CamelCasedCapitalizedName]



=== Prefs ===
When naming prefs for my extensions, the best format is the following:

extensions.mozext_mfix{at}gooeysoftware{dot}com.whatever

- "extensions." is widely used for extension-specific prefs - use this branch of the pref tree.
- "mozext_mfix{at}gooeysoftware{dot}com." is my extension's ID, but with '@' and '.' replaced with textual representations to make it respect the concept of a pref hierarchy (ie. not using '.' as something other than a namespace separator), and guarantee the pref's name is not invalid.
- "whatever" is then whatever name I decide to give this pref; it is now in a namespace almost guaranteed to be particular to my extension.
